//
//  ProblemOffer24.swift
//  TestProject
//
//  Created by 毕武侠 on 2021/5/9.
//  Copyright © 2021 zhulong. All rights reserved.
//

import UIKit

/*
 剑指 Offer 24. 反转链表
 定义一个函数，输入一个链表的头节点，反转该链表并输出反转后链表的头节点。

 示例:
     输入: 1->2->3->4->5->NULL
     输出: 5->4->3->2->1->NULL
 限制：
    0 <= 节点个数 <= 5000
 */
@objcMembers class ProblemOffer24: NSObject {
    func solution() {
        
    }
    
    func reverseList(_ head: ListNode?) -> ListNode? {
        var pre: ListNode? = nil
        var node = head
        while node != nil {
            let next = node?.next
            node?.next = pre
            pre = node
            node = next
        }
        return pre
    }
}
